package com.jyu.pojo.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;

import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * <p>
 *
 * </p>
 *
 * @author guancheng
 * @since 2023-11-29
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName(value = "user")
public class User implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 昵称
     */
    private String userName;

    /**
     * （邮箱）
     */
    private String email;

    /**
     * MD5二次加密
     */
    private String password;

    /**
     * 手机号码
     */
    private String phone;

    /**
     * 头像
     */
    private String avatar;

    /**
     * 1代表男，0代表女
     */
    private Integer gender;

    /**
     * 账号状态,1代表正常，0代表禁用
     */
    private Integer state;

    /**
     * 认证时间
     */
    private LocalDateTime certificationTime;

    /**
     * 注册时间
     */
    private LocalDateTime registerDate;

    /**
     * 最后一次登录时间
     */
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime lastLoginDate;

    /**
     * 角色身份 	100超级管理员	200管理员	300用户	
     */
    private Integer role;


    public String getUserName() {
        return userName;
    }
}
